1. Field of the Invention
The present invention relates to an apparatus for generating a random number and a method for the same.
2. Description of the Related Art
Random numbers are used in various kinds of signal processing in a variety of devices, such as digital imaging devices, game devices, and the like. Recently, as more and more devices have become networked and security functions become incorporated, random numbers have been increasingly used.
For random numbers used when the security functions are incorporated, in particular, it is necessary to have a large number of high-quality random numbers as an important factor for improved security. In this case, unpredictability (the occurrence of any one number in a particular position in a sequence of the random numbers is unpredictable from the occurrence of earlier or later members of the sequence), irregularity in the sequence, sufficiently long periodicity, uniformity (all numbers in the sequence occur equally often in the long run), and the like are more desired.
Japanese Patent Laid-Open No. 2003-029963 discloses a technique in which random numbers generated in a random number generator within an apparatus for generating a random number are output to the outside, the generation of random numbers is concurrently tested by a testing circuit within the apparatus, and, following the completion of the output of random numbers, the test result is output after the test is complete.
In this technique, however, it is not determined whether the quality of random numbers output from the apparatus for generating random numbers to the outside is sufficient until the test performed by the testing circuit is completed. In other words, random numbers whose quality has not been assured may be output.
In a case where an application that uses random numbers needs high-quality random numbers, for example, it is necessary to buffer a predetermined amount of random numbers outside the apparatus, check the result of the test performed by the testing circuit inside the apparatus, and then determine whether the buffered random numbers are to be used.